Customized variable television advertising generated from a television advertising template

ABSTRACT

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for providing customized television advertisements. In one aspect, television advertising templates are used for generating customized television advertisements. The television advertisement templates include targeting criteria specifying targeting conditions for the television advertising template, which are conditions for selecting the television advertisement template for an advertisement availability, and content selection criteria specifying availability content associated with an advertisement availability for use in selecting variable advertisement content elements for inclusion in a customized television advertisement generated from the television advertising template. The variable advertisement content elements can include video elements, audio elements, and text elements.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of, and claims priorityto, U.S. patent application Ser. No. 12/702,665, titled “CUSTOMIZEDVARIABLE TELEVISION ADVERTISING GENERATED FROM A TELEVISION ADVERTISINGTEMPLATE,” filed on Feb. 9, 2010. The disclosure of the foregoingapplication is incorporated herein by reference in its entirety for allpurposes.

BACKGROUND

This specification relates to television advertising.

An advertiser, such as a business entity, can purchase airtime during atelevision broadcast to air television advertisements. Exampletelevision advertisements include commercials that are aired during aprogram break, transparent overlays that are aired during a program, andtext banners that are aired during a program, product placements in aprogram, etc.

Television advertisements can be targeted for particular programs andevents. For example, travel advertisements, e.g., television commercialsfor cruise packages, can be aired during specific travel-relatedtelevision programs. Television advertisements, however, are typicallycreated days or even weeks in advance of the television programs duringwhich they air. As a result, the same television advertisements areoften aired many times during particular programs, which can lead to adblindness. Additionally, the television advertisement may not beparticularly relevant to the actual content of the television program.For example, the television commercial for cruise packages may be airedfor any episode of a particular travel-related program. If the subjectof a particular episode of the travel-related program is tropicalvacation cruises, then the television advertisement may be of greatinterest to the viewers. However, if the subject of a particular episodeof the travel-related program is skiing in Switzerland, then thetelevision advertisement for tropical cruises may be of less interest tothe viewers.

Thus, given the production lead time for television commercials, and thevarying subject matter for each episode of a television program, it isdifficult, if not impossible, for a single advertiser to producemultiple different television commercials that are tailored to theparticular subject matter of a television program and still realize anacceptable advertising return on investment (ROI).

SUMMARY

In general, one aspect of the subject matter described in thisspecification can be embodied in methods that include the actions ofaccessing television advertising templates, each of the televisionadvertising templates for use in generating customized televisionadvertisements and including variable advertisement content elements,each variable advertisement content element being selectable forinclusion in a customized television advertisement generated from thetelevision advertising template, targeting criteria specifying targetingconditions for the television advertising template, the targetingconditions being conditions for selecting the television advertisementtemplate for an advertisement availability, and content selectioncriteria specifying availability content associated with anadvertisement availability for use in selecting variable advertisementcontent elements for inclusion in a customized television advertisementgenerated from the television advertising template; identifying anadvertising availability that satisfies the targeting conditions for oneor more of the television advertising templates; selecting one of thetelevision advertising templates having targeting conditions satisfiedby the advertising availability; identifying availability content basedon the content selection criteria of the selected television advertisingtemplate; selecting one or more of the variable advertisement contentelements of the selected television advertising template; generating acustomized television advertisement from the selected televisionadvertising template and the selected variable advertisement contentelements; and providing the customized television advertisement forairing during the advertisement availability that satisfies thetargeting conditions of the selected television advertising template.Other embodiments of this aspect include corresponding systems,apparatus, and computer programs, configured to perform the actions ofthe methods, encoded on computer storage devices.

Another aspect of the subject matter described in this specification canbe embodied in methods that include the actions accessing televisionadvertising templates, each of the television advertising templates foruse in generating customized television advertisements and including:targeting criteria specifying targeting conditions for the televisionadvertising template, the targeting conditions being conditions forselecting the television advertisement template for an advertisementavailability, and content selection criteria specifying availabilitycontent associated with an advertisement availability for use inselecting variable advertisement content elements for inclusion in acustomized television advertisement generated from the televisionadvertising template; identifying an advertising availability thatsatisfies the targeting conditions for one or more of the televisionadvertising templates; selecting one of the television advertisingtemplates having targeting conditions satisfied by the advertisingavailability; identifying availability content based on the contentselection criteria of the selected television advertising template;providing to a variable advertisement content provider the identifiedavailability content; receiving from the variable advertisement contentprovider variable advertisement content elements for the selectedtelevision advertising template, each variable advertisement contentelement being selected for inclusion in a customized televisionadvertisement generated from the television advertising template;generating a customized television advertisement from the selectedtelevision advertising template and the received variable advertisementcontent elements; and providing the customized television advertisementfor airing during the advertisement availability that satisfies thetargeting conditions of the selected television advertising template.Other embodiments of this aspect include corresponding systems,apparatus, and computer programs, configured to perform the actions ofthe methods, encoded on computer storage devices.

Another aspect of the subject matter described in this specification canbe embodied in methods that include the actions of identifying atelevision advertisement availability for a television program;selecting a television advertisement template, the television advertingtemplate including: targeting criteria specifying targeting conditionsfor the television advertising template, the targeting conditionsspecifying television programs for which the television advertingtemplate may be used to generate a customized television advertisementand content selection criteria specifying keyword types for extractingkeywords from electronic program guide descriptions of the televisionprograms during which the identified television availability occurs;wherein the selection of the television advertising template is based onthe television program being one of the television programs specified bythe targeting criteria; extracting from the electronic program guideinformation keywords of the keyword types; requesting variableadvertisement content elements for the selected television advertisingtemplate, the request including the extracted keywords, the variableadvertisement content element for inclusion in a customized televisionadvertisement generated from the television advertising template;receiving variable advertisement content elements in response to therequest, the variable advertisement content elements having beenselected based on the extracted keywords; generating a customizedtelevision advertisement from the selected television advertisingtemplate and the received variable advertisement content elements; andproviding the customized television advertisement for airing during theadvertisement availability. Other embodiments of this aspect includecorresponding systems, apparatus, and computer programs, configured toperform the actions of the methods, encoded on computer storage devices.

Particular embodiments of the subject matter described in thisspecification can be implemented to realize one or more of the followingadvantages. Relevant advertisements that are particularly tailored tothe specific subject matter of a program can be provided forpresentation. Multiple different television advertisements can begenerated from a single television advertising template, and the cost ofproducing the multiple advertisements from the templates is much lessthan the cost of producing multiple unique television advertisements.The advantages and features listed above are optional and notexhaustive. The advantages and features can be separately realized orrealized in various combinations.

The details of one or more embodiments of the subject matter describedin this specification are set forth in the accompanying drawings and thedescription below. Other features, aspects, and advantages of thesubject matter will become apparent from the description, the drawings,and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example television advertisement system.

FIGS. 2A-2C are block diagrams of an example television advertisingtemplate and customized advertisements generated from the televisionadvertising template.

FIG. 3 is a flow diagram of an example process for generating acustomized television advertisement from a television advertisingtemplate.

FIG. 4 is a flow diagram of an example process for selecting variableadvertisement content based on electronic programming guide information.

FIG. 5 is a block diagram of an example viewing device.

Like reference numbers and designations in the various drawings indicatelike elements.

DETAILED DESCRIPTION

FIG. 1 is a block diagram of an example television advertising system100. The television advertising system 100 delivers televisionadvertisements to viewers to facilitate operator monetization ofprogramming and quantification of advertisement delivery to targetmarkets. The television advertising system 100 can be implemented on oneor more computer servers, and can provide and receive data over anetwork. Example networks include local area networks (LANs), wide areanetworks (WANs), telephonic networks, and wireless networks (e.g.,802.11x compliant networks, satellite networks, cellular networks,etc.). Additionally, the television advertising system 100 cancommunicate over several different types of networks, e.g., theInternet, a satellite network, and a telephonic network.

The television advertising system 100 receives television advertisementtemplates 102 from advertisers 140, e.g., entities that providetelevision advertisements. The television advertising system 100 canfacilitate the provisioning of customized television advertisements to atelevision provider 160, e.g., an entity that facilitates the deliveryof a television broadcast to viewers, such as a cable provider, a headend, or a digital satellite provider.

The television advertising system facilitates the presentation ofcustomized television advertisements generated from the televisionadvertising templates 102. Customized television advertisements aretelevision advertisements that are presented during a television programand are customized to be relevant to the specific content of thetelevision programming. As used in this description, “specific content”of the television programming refers to the specific subject matter ofthe television program. Examples of specific subject matter include aparticular subject of an episode (e.g., the city of London is aparticular subject of an episode of a travel related program, a seriesof conflicts, such as the War of the Roses, is a particular subject ofan episode of history related program, and particular teams, such asQueens Park Rangers and Preston North End, are particular subjects of atelevised sporting event). Specific content thus relates to the specificsubject of a particular television program. Conversely, the generalcontent of a television program, which is the topic or category to whichthe program belongs—e.g., a travel related program, a sports relatedprogram—does not always identify the specific content of the televisionprogram.

The provider 160 provides advertisement availability schedules to thetelevision advertising system 100. Example advertisement availabilityschedules include scheduling data related to advertisement spots, timesslots, pods (groups of time slots), screen real estate (e.g., a regionin a text banner or screen corner for an overlay), etc.

The television advertising system 100 selects advertisements to airduring an advertisement availability based on programming content,account advertiser bids, budgets, quality metrics that have beencollected, e.g., conversions, viewer actions, impressions, etc. Inparticular, the television advertising system 100 selects televisionadvertising templates 102 and generates customized televisionadvertisements based on the specific content of television programs.Advertisements for airing are then provided to the provider 160.

In some implementations, the television advertising system 100 includesdata stores storing television advertising templates 102, programmingdata 108, log data 110, performance data 112, and accounting data 114.

Each television advertising template include targeting criteria 102 a,content selection criteria 102 b, variable content elements 102 c, andstatic content elements 102 d. The targeting criteria 102 a specifytargeting conditions for a television advertising template 102. Thetargeting conditions are conditions that must be satisfied for thetelevision advertisement template to be selected for a particularadvertisement availability.

The content selection criteria 102 b specify availability contentassociated with an advertisement availability for use in selectingvariable advertisement content elements for inclusion in a customizedtelevision advertisement generated from the television advertisingtemplate 102. As used herein, the term “availability content” is datathat specifies the specific content of a television program for aparticular advertisement availability. Example availability content isprogramming data 108, such as electronic programming guide data. Forexample, for a 30-second advertisement availability that occurs during aparticular episode of a travel related program, the availability contentis the electronic programming guide data that specifies the specificcontent of the particular episode of the program.

The variable advertisement content elements 102 c are selectable forinclusion in a customized television advertisement generated from thetelevision advertising template. Example variable content elementsinclude video elements, i.e., video data that generate television videoand that can be used in a customized television advertisement; audioelements, i.e., audio data that generates television audio and that canbe used in a customized television advertisement; and text elements,i.e., text data that generate television text and that can be used in acustomized television advertisement.

The static content elements 102 d are content elements (e.g., videoelements, audio elements, and text elements) that are included in eachcustomized television advertisement generated from a televisionadvertising template 102. For example, a particular televisionadvertising template 102 may specify that each customized commercialbegins with a video of a plane leaving an airport, and the audio line“It's time to get away to your destination.” The video of the plane andthe audio line are thus static content elements, as they are included inevery customized commercial.

The television advertisement templates 102 can, for example, includeadditional data that can also be used in selecting the templates 102,such as cost per action parameters, frequency values, competitiverestrictions, advertising budget data, geographic data, targeting data,etc. The parameters for each template can, for example, be specified bythe advertiser 140 that manages the template, and/or can beautomatically updated based on the performance of advertisements duringan advertisement campaign.

The log data 110 includes data logs from viewing devices 164, e.g., settop boxes, satellite receivers, etc. The log data can include reportingdata that identifies channel tunes, e.g., a channel identifier to whichthe viewing device was tuned, such as may occur when the viewing device164 is processing video data to record and/or display, and channel tunetimes, e.g., the times that the viewing device was tuned to a channel.

The performance data 112 includes quality data, e.g., a total number ofimpressions for each advertisement, or an impression rate for eachadvertisement, and/or other quality parameter and/or impressionparameters.

The accounting data 114 includes accounting data related toadvertisements and advertisers 140. Example accounting data 114 includescampaign budgets, monthly spend parameters, and account balances foradvertisers.

The example television advertising system 100 includes an advertisementfront end engine 120, a reporting engine 122, an accounting engine 124and an advertisement selection engine 126. The advertisement front endengine 120, reporting engine 122 accounting engine 124 and theadvertisement selection engine 126 can, for example, be distributedamong a plurality of computer devices, e.g., server computerscommunicating over a network.

The advertisement front end engine 120 receives advertisement data andtelevision advertisement templates 102 from the advertisers 140. Forexample, the advertisement front end engine 120 can be implemented insoftware, and which includes an API and network interface forestablishing data communications with computer devices of theadvertisers 140.

The reporting engine 122 receives television advertisement report datafrom the provider 160 and determines whether the selected televisionadvertisement aired is based on the television advertisement reportdata, and can determine whether an impression should be attributed tothe airing.

The accounting engine 124 receives the impression data from thereporting engine 122 and generates accounting data for advertisers,e.g., the accounting data can detail fees owed to the televisionadvertising system 100.

The advertisement selection engine 126 accesses the televisionadvertising templates 102 and identifies an advertising availabilitythat satisfies the targeting conditions for one or more of thetelevision advertising templates 102. Those television advertisingtemplates 102 that have targeting conditions that the advertisingavailability satisfies are then selected. If more than one televisionadvertising template 102 is selected for the same advertisingavailability, e.g., two or more templates 102 are selected for the same30 second advertising spot, then the advertisement selection engine 126can select one of the television advertising templates 102 based on oneor more selection criteria, e.g., performance data, a rank in anauction, etc.

Once the advertisement selection engine 120 selects a televisionadvertising template 102, the advertisement selection engine 120identifies availability content based on the content selection criteria102 b of the selected television advertising template. Availabilitycontent is data that specifies the specific content of a televisionprogram for a particular advertisement availability. For example, assumeadvertisement selection engine 122 uses the programming data 108, e.g.,electronic programming guide data, as the availability content. For aparticular template 102, its corresponding content selection criteria102 b are keyword selection criteria specifying keyword types forextracting keywords from electronic program guide descriptions of thetelevision programs. For example, for a template targeted toavailabilities during travel related programs, the keyword selectioncriteria may specify that a program category keyword and any keywordsspecifying a country, city or geographic region be extracted from theelectronic program guide data. Likewise, for a template targeted toavailabilities during a televised sporting event, the keyword selectioncriteria may specify that keywords specifying the team names and type ofsport (e.g., “football”) be extracted from the electronic program guidedata.

The content selection criteria 102 b can also include keyword matchingcriteria specifying, for each variable advertisement content element,one or more matching keywords. The variable advertisement contentelements 102 c having matching keywords that match the extractedkeywords are selected for inclusion in a customized advertisement. Forexample, assuming that a customized advertisement for a sports drink isto be made for airing during a televised football match between twoteams—the Queens Park Rangers and Preston North End soccer teams. Theadvertising template 102 for the customized advertisement has, asvariable content elements 102 c, short video clips of many players frommany different soccer teams for possible inclusion in the customizedadvertisement. Furthermore, the content selection criteria 102 bspecifies that the names of the sports teams are to be extracted fromelectronic programming guide data. A short video clip of a player fromthe Queens Park Rangers, and another short video clip of a player fromPreston North End, have the respectively specified matching keywords of“queens park rangers” and “preston north end.” As the extracted keywordsfor the televised football match are “Queens Park Rangers” and “PrestonNorth End,” the short video clips of the players from these teams areselected and included in the customized advertisement. Accordingly, thecustomized television advertisement will likely hold a viewer's interestmore effectively than a non-customized advertisement that has a videoclip of a player or sports figure from a team other than the Queens ParkRangers or Preston North End.

Another example of generating customized television advertisements isshown in FIGS. 2A-2C, which are block diagrams of an example televisionadvertising template 102 and customized advertisements 220 and 240generated from the television advertising template.

FIG. 2A graphically depicts an advertising template 102 with areas 202,204 and 206 in which variable content elements 102 c and static contentelements 102 d are shown. The area 202 is an area in which a video clipor image of a selected variable content element 102 c is rendered. Thearea 204 is an area in which advertisement text is shown. The textincludes variable files <PROGRAM NAME>, <LOCATION>, and <URL>, each ofwhich receive text corresponding to selected variable content elements102 c. A video clip of spokesperson 206 is also depicted in FIG. 2A. Thevideo clip is the same for all customized advertisements, and thespokesperson speaks the same line of audio in each commercial. Forexample, the television advertising template 102 is directed toadvertising vacation packages, and the line of audio is generic withrespect to locations, e.g., “Example Travel has the best rates tolocations just like those shown in the program you are watching rightnow—visit us on the web at the address below to find out more!”

The targeting criteria 102 a, for example, specifies particulartelevision programs by their name and programming times. For example,the targeting criteria specifies three travel programs—e.g.,“Destinations,” “Get Aways,” and “Long Weekends,” and specifies the timeperiod between 9:00 AM and 10:00 PM. Accordingly, any of the threetravel programs airing between the specified time will satisfy thetargeting criteria 102 a, and thus so will the advertisementavailabilities during those programs.

The content selection criteria 102 b specifies keywords to extract fromthe electronic program guide data describing a particular episode of theprograms. For example, the content selection criteria may specify theprogram name as a keywords for extraction, and the location name as akeywords for extraction. Using this content selection criteria 102 b,the advertisement selection engine 126 will extract from the electronicprogram guide information the program name and the location names thatsatisfy the targeting criteria 102 a.

The content selection criteria 102 b also specifies matching keywordsfor variable content elements 102 c. For example, the video clip shownin the area 202 are location specific. Accordingly, a video clipdepicting visual features of Japan may be associated with the matchingkeywords “Japan,” “Tokyo,” “Mt. Fuji,” “Osaka,” etc. Conversely, a videoclip depicting visual features of vacation spots in the YucatánPeninsula may be associated with the keywords “Yucatán,” “Cancun,”“Cozumel,” “Holbox,” etc. Likewise, various location names be associatedwith each other so that the customized advertisements may reference anyof the vacation locations in the Yucatán Peninsula. For example, if thekeyword “Cozumel” is extracted from the electronic program guideinformation, then the location shown in the area 204 may be any ofCancun, Cozumel, Holbox, etc. Additionally, different audio tracks,e.g., background music, can be associated with matching keywords. Forexample, a first audio track of Japanese inspired music can beassociated with matching keywords “Japan,” “Tokyo,” “Mt. Fuji,” “Osaka,”etc. Likewise, a second audio track of Mexican inspired music can beassociated with matching keywords “Yucatán,” “Cancun,” “Cozumel,”“Holbox,” etc.

Finally, additional variable content elements 102 c can also beassociated with matching keywords. For example, a portion of a URLstring can be specified with matching keywords so that the displayed URLis one that includes data specific to the location being shown in thecustomized television advertisement.

FIG. 2B graphically depicts a customized advertisement 220 generatedfrom the template 102 of FIG. 2A. The customized advertisement 220 isgenerated for a particular episode of the travel program “Destinations.”As the travel program is one of the targeted programs for the televisionadvertising template 102, and airs during the specified targeted timeperiod, the advertisement selection engine 126 selects the televisionadvertising template 102 to generate a customized televisionadvertisement to air on a commercial spot during the television program.

Using the content selection criteria 102 b, the advertisement selectionengine extracts the keywords “Destinations,” “Tokyo,” “Japan,” and “Mt.Fuji” from the electronic programming guide data 108. Using thesekeywords, the advertisement selection engine 126 selects a video cliprelated to Japan and selects text to populate the text fields in thetelevision advertising template. The video clip that is selected is avideo clip that has an associated matching keyword that match one ormore the keywords “Tokyo,” “Japan,” and “Mt. Fuji.” Likewise, the textthat is selected are words that have associated matching keywords thatmatch one or more of the keywords “Destinations,” “Tokyo,” “Japan,” and“Mt. Fuji.” Additionally, Japanese inspired background music is alsoplayed during the airing of the customized television advertisement 220.

FIG. 2C graphically depicts a customized advertisement 240 generatedfrom the template 102 of FIG. 2A. The advertisement 240 is similar tothe advertisement 220 of FIG. 2B, except that the variable contentelements that are selected result in a television advertisement that iscustomized to the location of Cancun, Mexico.

In some implementations, the advertisement selection engine 126generates the customized television advertisements in near real time,e.g., minutes or even seconds before the customized televisionadvertisements actually aired. In other implementations, theadvertisement selection engine 126 generates the customized televisionadvertisements well in advance of airing a particular program, e.g.,hours or even days before the program airs.

In some implementations, the variable content elements 102 c and staticcontent elements 102 d are stored with the television advertisingtemplate data 102 at the television advertising system 100. In otherimplementations, the variable content elements 102 c and static contentelements 102 d are stored in a server maintained by respectiveadvertisers 140, and the television advertising system 100 accesses therespective servers by means of an appropriate API or other communicationmethod. The servers at the respective advertisers receive informationspecifying the selected template and availability content, and providethe corresponding variable content elements 102 c in return. In thislatter implementation, the respective advertisers 140 can update thevariable content elements 102 c and static content elements 102 d morequickly than if those elements are maintained at the televisionadvertising system 100.

Although the electronic program guide is used an example programmingdata source, other data can also be used. For example, closed captioningdata can be used for the programming data instead of, or in addition to,electronic programming guide data.

FIG. 3 is a flow diagram of an example process 300 for generating acustomized television advertisement from a television advertisingtemplate. Example process 300 can be implemented in the televisionadvertising system 100, or other data processing apparatus in datacommunication with the television advertising system 100.

The process 300 accesses television advertising templates (302). Forexample, the advertisement selection engine 126 accesses televisionadvertising template data 102, which stores television advertisingtemplates for advertisers 140.

The process 300 identifies an advertising availability that satisfiestargeting conditions for one or more of the television advertisingtemplates (304). For example, the advertisement selection engine 126identifies commercial spots during a particular television program thatsatisfies targeting conditions for one or more of the televisionadvertising templates 102.

The process 300 selects one of the television advertising templateshaving targeting conditions satisfied by the advertising availability(306). For example, if only one television advertisement template 102has targeting conditions that are satisfied by the advertisingavailability, then that television advertisement template 102 isselected. Conversely, many television advertisement templates havetargeting conditions that are satisfied by the availability, and one ofthe television advertisement templates is selected based on, forexample, an auction.

The process 300 identifies availability content based on the contentselection criteria of the selected television advertising template(308). For example, the advertisement selection engine 126 identifiesparticular keywords of the electronic program guide data as availabilitycontent.

The process 300 selects one or more the variable advertisement contentelements of the selected television advertising template (310). Forexample, the advertisement selection engine 126 selects variableadvertising content elements associated with matching keywords thatmatch the keywords extracted from the electronic program guide data.

The process generates a customized advertisement from the selectedtelevision advertising template and the selected variable advertisementcontent elements (312). For example, the advertisement selection engine122 generates a customized television advertisement by rendering thevariable advertisement content elements, along with static contentelements, if any, to generate customized television advertisement.

FIG. 4 is a flow diagram of an example process for selecting variableadvertisement content based on electronic programming guide information.Example process 400 can be implemented in the television advertisingsystem 100, or other data processing apparatus in data communicationwith the television advertising system 100.

Process 400 specifies keyword types for extracting keywords fromelectronic program guide descriptions of the television programs (402),and specifies, for each variable advertisement content element, one ormore matching keywords (404). For example, an advertiser 140 can uploadthe content selection criteria 102 b to the television advertisingsystem 100, and the content selection criteria 102 b is stored in thetelevision advertising system 100. The advertiser 140 has specifiedvarious keywords for extraction from program guide information for aparticular television advertising template, and has selected matchingkeywords for each of the variable content elements 102 c.

The process 400 extracts from the electronic program guide informationkeywords or keyword types specified in the availability content (406).For example, for selected television advertising template 102, theadvertisement selection engine 126 accesses the content selectioncriteria 102 b, and uses content selection criteria 102 b to extract thespecified keywords from the electronic programming guide information.

The process 400 selects variable advertisement content elements forwhich the specified matching keyword match the keywords extracted fromthe program guide information (408). For example, the advertisementselection engine 126 compares the extracted keywords to the matchingkeywords the variable content elements 102 c. Variable content elementshaving matching keywords that match the extracted keywords are selected.If multiple variable content elements are selected, then, in someimplementations, the variable content element can be randomly selectedfrom the multiple variable content elements. In other implementations,the least most selected verbal content element among multiple variablecontent elements can be selected to increase diversity in the customizedtelevision advertisements.

In some implementations, the advertisement templates 102 can havecontent selection criteria 102 b specifying that content be selectedbased on local data stored at a subscriber's location. For example, aviewing device 164 can store data local to a particular subscriber,e.g., a zip code of the subscriber and a city name corresponding to thezip code. The advertisement data provided to the viewing device caninclude data that is filtered based on the local data. For example, theadvertisement data can include local phone numbers based on zip codes,and the viewing device can filter the advertisement data so that theadvertisement generated from the advertisement data includes only thelocal phone number corresponding to the subscriber's zip code.

FIG. 5 is a block diagram of an example viewing device 164. The viewingdevice 164 includes an input/output (I/O) subsystem 402, televisionsignal processing circuitry 504, and a data storage device 506.

The I/O subsystem 502 can receive video signals from the provider 160and can provide a video signal output for display on a televisiondisplay device. The data storage device 506 stores local data, such asthe subscribers zip code, location, demographics, etc.

The television processing circuitry 504 generates video signals fordisplay on a television display device. Additionally, the televisionprocessing circuitry 504 selects data for display with televisionadvertisements based on the local data stored in the storage device 506.For example, advertisement data for an advertisement generated from anadvertisement template 102 can include a mapping of zip codes to localphone numbers. The television processing circuitry 504 can access thezip code stored in the data storage device 506 and select the phonenumber corresponding to the zip code stored in the data storage device506. This phone number can then be displayed as part of the televisionadvertisement.

The viewing device 164 can be implemented as a set-top box, a satellitereceiver, or other device capable of receiving video input data andoutputting a video signal for display on a television device.

The apparatus, methods, flow diagrams, and structure block diagramsdescribed in this patent document may be implemented in computerprocessing systems including program code comprising programinstructions that are executable by the computer processing system.Other implementations may also be used. Additionally, the flow diagramsand structure block diagrams described in this patent document, whichdescribe particular methods and/or corresponding acts in support ofsteps and corresponding functions in support of disclosed structuralmeans, may also be utilized to implement corresponding softwarestructures and algorithms, and equivalents thereof.

Embodiments of the subject matter described in this specification can beimplemented as one or more computer program products, i.e., one or moremodules of computer program instructions encoded on a tangible programcarrier for execution by, or to control the operation of, dataprocessing apparatus. The computer readable medium can be a machinereadable storage device, a machine readable storage substrate, a memorydevice, or a combination of one or more of them.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, or declarative orprocedural languages, and it can be deployed in any form, including as astand alone program or as a module, component, subroutine, or other unitsuitable for use in a computing environment. A computer program does notnecessarily correspond to a file in a file system. A program can bestored in a portion of a file that holds other programs or data (e.g.,one or more scripts stored in a markup language document), in a singlefile dedicated to the program in question, or in multiple coordinatedfiles (e.g., files that store one or more modules, sub programs, orportions of code). A computer program can be deployed to be executed onone computer or on multiple computers that are located at one site ordistributed across multiple sites and interconnected by a communicationnetwork.

The processes and logic flows described in this specification can beperformed by one or more programmable processors executing one or morecomputer programs to perform functions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read only memory ora random access memory or both. The essential elements of a computer area processor for performing instructions and one or more memory devicesfor storing instructions and data. Generally, a computer will alsoinclude, or be operatively coupled to receive data from or transfer datato, or both, one or more mass storage devices for storing data, e.g.,magnetic, magneto optical disks, or optical disks. However, a computerneed not have such devices.

To provide for interaction with a user, embodiments of the subjectmatter described in this specification can be implemented on a computerhaving a display device, e.g., a CRT (cathode ray tube) or LCD (liquidcrystal display) monitor, for displaying information to the user and akeyboard and a pointing device, e.g., a mouse or a trackball, by whichthe user can provide input to the computer. Other kinds of devices canbe used to provide for interaction with a user as well; for example,feedback provided to the user can be any form of sensory feedback, e.g.,visual feedback, auditory feedback, or tactile feedback; and input fromthe user can be received in any form, including acoustic, speech, ortactile input.

Embodiments of the subject matter described in this specification can beimplemented in a computing system that includes a back end component,e.g., as a data server, or that includes a middleware component, e.g.,an application server, or that includes a front end component, e.g., aclient computer having a graphical user interface or a Web browserthrough which a user can interact with some implementations of thesubject matter described is this specification, or any combination ofone or more such back end, middleware, or front end components. Thecomponents of the system can be interconnected by any form or medium ofdigital data communication, e.g., a communication network. The computingsystem can include clients and servers. A client and server aregenerally remote from each other and typically interact through acommunication network. The relationship of client and server arises byvirtue of computer programs running on the respective computers andhaving a client server relationship to each other.

While this specification contains many specific implementation details,these should not be construed as limitations on the scope of anyinvention or of what may be claimed, but rather as descriptions offeatures that may be specific to particular embodiments of particularinventions. Certain features that are described in this specification inthe context of separate embodiments can also be implemented incombination in a single embodiment. Conversely, various features thatare described in the context of a single embodiment can also beimplemented in multiple embodiments separately or in any suitablesubcombination. Moreover, although features may be described above asacting in certain combinations and even initially claimed as such, oneor more features from a claimed combination can in some cases be excisedfrom the combination, and the claimed combination may be directed to asubcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the embodiments described above should not be understoodas requiring such separation in all embodiments, and it should beunderstood that the described program components and systems cangenerally be integrated together in a single software product orpackaged into multiple software products.

This written description sets forth the best mode of the invention andprovides examples to describe the invention and to enable a person ofordinary skill in the art to make and use the invention. This writtendescription does not limit the invention to the precise terms set forth.Thus, while the invention has been described in detail with reference tothe examples set forth above, those of ordinary skill in the art mayeffect alterations, modifications and variations to the examples withoutdeparting from the scope of the invention.

What is claimed is:
 1. A computer-implemented method performed by a dataprocessing apparatus, comprising: identifying a future advertisingavailability scheduled to occur during a given episode of a given videoprogram that has multiple episodes that each present different specificcontent of the given video program; identifying a plurality of videoadvertising templates that are each associated with respective targetingcriteria that specify one or more video programs each including multipleepisodes during which customized video advertisements generated usingthe video advertising template are eligible to be presented; selecting,from the plurality of video advertising templates, a given videoadvertising template for the given video program based at least on thegiven video program being specified by the targeting criteria for thegiven video advertising template; selecting, from a plurality ofadvertisement content elements that include advertising content for thegiven video advertising template, one or more advertisement contentelements based on specific content of the given episode of the givenvideo program; generating a customized video advertisement for the givenepisode of the given video program from the given video advertisingtemplate and the selected one or more advertisement content elementsthat are selected for the given episode of the given video program,wherein the customized video advertisement generated for the givenepisode using the given advertising template includes differentadvertisement content elements than other customized videoadvertisements generated for different episodes of the given videoprogram based on the different episodes having different specificcontent than the given episode; and providing the customized videoadvertisement for presentation during the future advertisingavailability occurring during the given episode of the given videoprogram.
 2. The computer-implemented method of claim 1, wherein, foreach video advertising template, the advertisement content elementsinclude one or more of: video elements, each video element being datathat generates video that can be used in a customized videoadvertisement; audio elements, each audio element being audio data thatgenerate audio that can be used in a customized video advertisement; ortext elements, each text element being data that generates text that canbe used in a customized video advertisement.
 3. The computer-implementedmethod of claim 2, wherein the given video advertising templateincludes: keyword selection criteria specifying one or more keywordtypes for extracting keywords from electronic program guide descriptionsof the episodes of the given video program; and keyword matchingcriteria specifying, for each advertisement content element, one or morematching keywords for which the advertisement content element iseligible for inclusion in a video program advertisement template.
 4. Thecomputer-implemented method of claim 3, wherein selecting one or moreadvertisement content elements based on specific content of the givenepisode of the given video program comprises: extracting, from theelectronic program guide descriptions, one or more keywords of the oneor more keyword types included in the electronic program guidedescription of the given episode of the given video program; andselecting a given advertisement content element that has keywordmatching criteria that specifies at least one of the extracted one ormore keywords.
 5. The computer-implemented method of claim 1, whereineach video advertising template further includes static advertisementcontent elements, each static advertisement content element beingincluded in each customized video advertisement generated from the videoprogram advertising template.
 6. The computer-implemented method ofclaim 5, wherein, for each video program advertising template, thestatic advertisement content elements include one or more of: videoelements, each video element being data that generates video that can beused in a customized video advertisement; audio elements, each audioelement being audio data that generate audio that can be used in acustomized video advertisement; or text elements, each text elementbeing data that generates text that can be used in a customized videoadvertisement.
 7. The computer-implemented method of claim 1, wherein:the given episode of the given program is presented on a first viewingdevice; and providing the customized video program advertisement forpresentation during the future advertising availability comprisesproviding the customized video advertisement for presentation on asecond viewing device.
 8. The method of claim 1, wherein the customizedvideo advertisement is presented (i) during a commercial break betweentwo sequential portions of the given episode or (ii) in an overlay thatis rendered over content of the particular episode during playback ofthe particular episode.
 9. The method of claim 1, wherein eachcustomized video advertisement generated from the given videoadvertising template presents at least a portion of video advertisingtemplate adjacent to an area of a display that is presenting an episodeof a video program; the given advertising template includes:placeholders in which advertisement content elements selected for eachepisode are populated; and static advertisement elements that arepresented in each customized video advertisement generated using thegiven advertising template independent of episodes for which thecustomized video advertisements are generated.
 10. A system, comprising:one or more computers; a data storage device storing a plurality ofvideo advertising templates selectable for use in generating customizedvideo advertisements; for each video advertising template, a pluralityof advertisement content elements that include advertising content forthe video advertising template; and a memory in data communication withthe one or more computers and storing instructions executable by the oneor more computers that upon such execution cause the one or morecomputers to perform operations comprising: identifying a futureadvertising availability scheduled to occur during a given episode of agiven video program that has multiple episodes that each presentdifferent specific content of the given video program; identifying aplurality of video advertising templates that are each associated withrespective targeting criteria that specify one or more video programseach including multiple episodes during which customized videoadvertisements generated using the video advertising template areeligible to be presented; selecting, from the plurality of videoadvertising templates, a given video advertising template for the givenvideo program based at least on the given video program being specifiedby the targeting criteria for the given video advertising template;selecting, from a plurality of advertisement content elements thatinclude advertising content for the given video advertising template,one or more advertisement content elements based on specific content ofthe given episode of the given video program; generating a customizedvideo advertisement for the given episode of the given video programfrom the given video advertising template and the selected one or moreadvertisement content elements that are selected for the given episodeof the given video program, wherein the customized video advertisementgenerated for the given episode using the given advertising templateincludes different advertisement content elements than other customizedvideo advertisements generated for different episodes of the given videoprogram based on the different episodes having different specificcontent than the given episode; and providing the customized videoadvertisement for presentation during the future advertisingavailability occurring during the given episode of the given videoprogram.
 11. The system of claim 10, wherein, for each video advertisingtemplate, the advertisement content elements include one or more of:video elements, each video element being data that generates video thatcan be used in a customized video advertisement; audio elements, eachaudio element being audio data that generate audio that can be used in acustomized video advertisement; or text elements, each text elementbeing data that generates text that can be used in a customized videoadvertisement.
 12. The system of claim 11, wherein the given videoadvertising template includes: keyword selection criteria specifying oneor more keyword types for extracting keywords from electronic programguide descriptions of the episodes of the given video program; andkeyword matching criteria specifying, for each advertisement contentelement, one or more matching keywords for which the advertisementcontent element is eligible for inclusion in a video programadvertisement template.
 13. The system of claim 12, wherein selectingone or more advertisement content elements based on specific content ofthe given episode of the given video program comprises: extracting, fromthe electronic program guide descriptions, one or more keywords of theone or more keyword types included in the electronic program guidedescription of the given episode of the given video program; andselecting a given advertisement content element that has keywordmatching criteria that specifies at least one of the extracted one ormore keywords.
 14. The system of claim 10, wherein each videoadvertising template further includes static advertisement contentelements, each static advertisement content element being included ineach customized video advertisement generated from the video programadvertising template.
 15. The system of claim 14, wherein, for eachvideo program advertising template, the static advertisement contentelements include one or more of: video elements, each video elementbeing data that generates video that can be used in a customized videoadvertisement; audio elements, each audio element being audio data thatgenerate audio that can be used in a customized video advertisement; ortext elements, each text element being data that generates text that canbe used in a customized video advertisement.
 16. The system of claim 10,wherein: the given episode of the given program is presented on a firstviewing device; and providing the customized video program advertisementfor presentation during the future advertising availability comprisesproviding the customized video advertisement for presentation on asecond viewing device.
 17. A non-transitory computer storage mediumencoded with a computer program, the program comprising instructionsthat when executed by one or more data processing apparatus cause thedata processing apparatus to perform operations comprising: identifyinga future advertising availability scheduled to occur during a givenepisode of a given video program that has multiple episodes that eachpresent different specific content of the given video program;identifying a plurality of video advertising templates that are eachassociated with respective targeting criteria that specify one or morevideo programs each including multiple episodes during which customizedvideo advertisements generated using the video advertising template areeligible to be presented; selecting, from the plurality of videoadvertising templates, a given video advertising template for the givenvideo program based at least on the given video program being specifiedby the targeting criteria for the given video advertising template;selecting, from a plurality of advertisement content elements thatinclude advertising content for the given video advertising template,one or more advertisement content elements based on specific content ofthe given episode of the given video program; generating a customizedvideo advertisement for the given episode of the given video programfrom the given video advertising template and the selected one or moreadvertisement content elements that are selected for the given episodeof the given video program, wherein the customized video advertisementgenerated for the given episode using the given advertising templateincludes different advertisement content elements than other customizedvideo advertisements generated for different episodes of the given videoprogram based on the different episodes having different specificcontent than the given episode; and providing the customized videoadvertisement for presentation during the future advertisingavailability occurring during the given episode of the given videoprogram.
 18. The non-transitory computer storage medium of claim 17,wherein, for each video advertising template, the advertisement contentelements include one or more of: video elements, each video elementbeing data that generates video that can be used in a customized videoadvertisement; audio elements, each audio element being audio data thatgenerate audio that can be used in a customized video advertisement; ortext elements, each text element being data that generates text that canbe used in a customized video advertisement.
 19. The non-transitorycomputer storage medium of claim 18, wherein the given video advertisingtemplate includes: keyword selection criteria specifying one or morekeyword types for extracting keywords from electronic program guidedescriptions of the episodes of the given video program; and keywordmatching criteria specifying, for each advertisement content element,one or more matching keywords for which the advertisement contentelement is eligible for inclusion in a video program advertisementtemplate.
 20. The non-transitory computer storage medium of claim 19,wherein selecting one or more advertisement content elements based onspecific content of the given episode of the given video programcomprises: extracting, from the electronic program guide descriptions,one or more keywords of the one or more keyword types included in theelectronic program guide description of the given episode of the givenvideo program; and selecting a given advertisement content element thathas keyword matching criteria that specifies at least one of theextracted one or more keywords.